package com.somsoft.unlockme;

import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

import com.somsoft.unlockme.fk.FangKuai;
import com.somsoft.unlockme.fk.Fk180x180;
import com.somsoft.unlockme.fk.Fk180x90;
import com.somsoft.unlockme.fk.Fk90x180;
import com.somsoft.unlockme.fk.Fk90x90;

@SuppressWarnings("unused")
public class Maps {

	private static List<FangKuai> fks = new ArrayList<FangKuai>();

	public static List<FangKuai> get(int level) {
		Class<Maps> clazz = Maps.class;
		try {
			Method m1 = clazz.getDeclaredMethod("level" + level);
			m1.invoke(null);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return fks;
	}

	private static void level1() {
		fks.clear();//1
		fks.add(new Fk180x180(0, 0));
		fks.add(new Fk90x90(2, 1));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk180x90(2, 0));
		fks.add(new Fk90x180(0, 2));
		fks.add(new Fk90x180(2, 2));
	}
	
	
	private static void level2() {
		fks.clear();//2
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(2, 0));
		fks.add(new Fk180x90(1, 1));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk180x180(2, 3));
	}
	

	private static void level3() {
		fks.clear();//4
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk180x180(1, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk180x90(1, 2));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk90x180(2, 3));
		fks.add(new Fk90x180(3, 3));
	}

	private static void level4() {
		fks.clear();//4
		fks.add(new Fk90x180(0, 0));
		fks.add(new Fk90x90(1, 0));
		fks.add(new Fk90x90(2, 0));
		fks.add(new Fk90x90(1, 1));
		fks.add(new Fk90x90(2, 1));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk180x180(2, 3));
	}

	private static void level5() {
		fks.clear();//5
		fks.add(new Fk90x180(0, 0));
		fks.add(new Fk90x180(1, 0));
		fks.add(new Fk90x180(3, 0));
		fks.add(new Fk90x180(0, 2));
		fks.add(new Fk90x180(1, 2));
		fks.add(new Fk180x180(2, 2));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x90(3, 4));
	}

	private static void level6() {
		fks.clear();
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(2, 0));
		fks.add(new Fk90x180(0, 1));
		fks.add(new Fk90x90(1, 1));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk180x180(2, 1));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(3, 4));
	}

	private static void level7() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(1, 0));
		fks.add(new Fk90x90(2, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk180x180(1, 1));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x180(3, 3));
	}

	private static void level8() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk180x90(1, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x180(0, 1));
		fks.add(new Fk180x180(1, 1));
		fks.add(new Fk90x180(3, 1));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x180(3, 3));
	}

	private static void level9() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(1, 0));
		fks.add(new Fk90x90(2, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk180x180(1, 1));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk180x90(1, 4));
	}

	private static void level10() {
		fks.clear();
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x180(2, 0));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x90(3, 4));
	}

	private static void level11() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk180x180(1, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x180(3, 3));
	}

	private static void level12() {
		fks.clear();
		fks.add(new Fk180x180(2, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(0, 3));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk180x90(2, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x90(3, 4));
	}

	private static void level13() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x180(0, 1));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(3, 1));
		fks.add(new Fk90x180(3, 3));
		fks.add(new Fk180x180(1, 0));
	}

	private static void level14() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(2, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(2, 1));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk180x180(2, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk180x90(2, 4));
	}

	private static void level15() {
		fks.clear();
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk180x90(0, 3));
		fks.add(new Fk180x90(2, 3));
		fks.add(new Fk180x90(0, 4));
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x90(3, 4));
		fks.add(new Fk180x180(1, 0));
	}

	private static void level16() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(3, 1));
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(3, 4));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk90x180(2, 3));
		fks.add(new Fk180x180(1, 1));
	}

	private static void level17() {
		fks.clear();
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x180(1, 0));
		fks.add(new Fk90x180(3, 0));
		fks.add(new Fk90x180(2, 1));
		fks.add(new Fk90x180(3, 2));
		fks.add(new Fk180x90(2, 4));
		fks.add(new Fk180x180(0, 3));
	}

	private static void level18() {
		fks.clear();
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(3, 4));
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(1, 2));
		fks.add(new Fk90x180(2, 3));
		fks.add(new Fk180x180(2, 0));
	}

	private static void level19() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x180(1, 0));
		fks.add(new Fk90x180(2, 0));
		fks.add(new Fk90x180(2, 2));
		fks.add(new Fk90x180(3, 1));
		fks.add(new Fk180x90(2, 4));
		fks.add(new Fk180x180(0, 2));
	}

	private static void level20() {
		fks.clear();
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x90(3, 4));
		fks.add(new Fk180x90(0, 3));
		fks.add(new Fk180x90(0, 4));
		fks.add(new Fk90x180(0, 0));
		fks.add(new Fk180x180(1, 0));
	}

	private static void level21() {
		fks.clear();
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk90x180(3, 3));
		fks.add(new Fk180x180(2, 0));
	}

	private static void level22() {
		fks.clear();
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(3, 4));
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x180(2, 0));
	}

	private static void level23() {
		fks.clear();
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk180x90(0, 4));
		fks.add(new Fk180x90(2, 4));
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk180x180(1, 0));
	}

	private static void level24() {
		fks.clear();
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk180x90(2, 3));
		fks.add(new Fk180x90(2, 4));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk180x180(2, 0));
	}

	private static void level25() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(0, 2));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(3, 4));
		fks.add(new Fk180x90(1, 0));
		fks.add(new Fk180x90(1, 4));
		fks.add(new Fk90x180(3, 0));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk180x180(1, 2));
	}

	private static void level26() {
		fks.clear();
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk90x180(2, 3));
		fks.add(new Fk90x180(3, 3));
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(0, 1));
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x90(3, 2));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x180(1, 0));
	}

	private static void level27() {
		fks.clear();
		fks.add(new Fk90x180(0, 0));
		fks.add(new Fk90x180(0, 2));
		fks.add(new Fk90x180(3, 1));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk90x90(3, 0));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk90x90(2, 4));
		fks.add(new Fk180x90(1, 0));
		fks.add(new Fk180x180(1, 1));
	}

	private static void level28() {
		fks.clear();
		fks.add(new Fk90x90(0, 0));
		fks.add(new Fk90x90(1, 0));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(2, 3));
		fks.add(new Fk90x90(3, 3));
		fks.add(new Fk180x90(2, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x90(2, 4));
		fks.add(new Fk90x180(0, 2));
		fks.add(new Fk180x180(2, 1));
	}

	private static void level29() {
		fks.clear();
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(2, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x90(0, 2));
		fks.add(new Fk180x90(2, 2));
		fks.add(new Fk90x90(0, 3));
		fks.add(new Fk90x90(1, 3));
		fks.add(new Fk90x90(0, 4));
		fks.add(new Fk90x90(1, 4));
		fks.add(new Fk180x180(2, 3));
	}

	private static void level30() {
		fks.clear();//2
		fks.add(new Fk180x90(0, 0));
		fks.add(new Fk180x90(2, 0));
		fks.add(new Fk180x90(0, 1));
		fks.add(new Fk180x90(2, 1));
		fks.add(new Fk90x90(1, 2));
		fks.add(new Fk90x90(2, 2));
		fks.add(new Fk90x180(0, 3));
		fks.add(new Fk90x180(1, 3));
		fks.add(new Fk180x180(2, 3));
	}

	private static void level31() {

	}

	private static void level32() {

	}

	private static void level33() {

	}

	private static void level34() {

	}

	private static void level35() {

	}
}
